<?php
ob_clean();
ob_start();

if (isset($_GET['url']) && $_GET['url'] === 'favicon.ico') {

	return;
} 

else {

	if(!$inicializadores) {

		include_once(JABEZ . 'config' . DS . 'Boot.ini.php');
		Core\Uses\getErrors();
		$inicializadores = TRUE;
	}

	if(Core\Uses\isContentCompression()) {

		ob_start('ob_gzhandler');
	}

	header('Content-Type: text/html; charset='.Core\Uses\Ler('Core.coding.output').';', TRUE);

	try {

		mb_internal_encoding(Core\Uses\Ler('Core.coding.internal'));
	}

	catch(Exception $e) {

		throw \Core\Uses\Exception('Codificação interna do PHP é inválida, favor rever as configurações.');
	}

	if(in_array(mb_strtolower(ACTIVE_PROJECT), Core\Uses\Ler('Core.reservedAppsNames'))) {

		throw \Core\Uses\Exception('Nome: ['.ACTIVE_PROJECT.'] Reservado, escolha outro para sua aplicação.');
	}

	if(Core\Uses\Ler('Session.start')) {

		session_start();
	}

	if(!is_dir(DOCUMENT_ROOT . DIR_ROOT . ACTIVE_PROJECT)) {

		throw \Core\Uses\Exception('Erro: Diretório da aplicação DEFAULT é inexistente.');
	}

	if(HOST_IS_PRIVATE === TRUE) {

		\Core\Uses\Gravar('Core.development', TRUE, 'publico');
		\Core\Uses\Gravar('Core.debug', 3, 'publico');
	}
}

$Dispatcher =& new Core\Libs\Dispatcher\Dispatcher();
$Dispatcher->dispatch();
?>